Copyright(C) 1994 Terumasa KODAKA , Takeshi KONO ■PC-98GS SGP BIOS INT 1Fh - Function 00h Classification SGP BIOS Name Reading SGP work RAM Undocumented Target PC-98GS Input AH=00h ES:DX=Buffer address CX=Number of elements to read (6-byte units) Output CF=0 Explanation o Read data from SGP work RAM. SGP (Super Graphic Processor) is a graphics processor installed in PC-98GS. Since the specifications are undisclosed, it is unknown what data can be read using this BIOS. It does not mean that the contents written with INT 1Fh - Function 01h can be read. o Can only be used when 0000:0597 bit 7=1. Related INT 1Fh - Function 01h 0000:0597h bit 7 I/O A562h INT 1Fh - Function 01h Classification SGP BIOS Name Write to SGP work RAM Undocumented Target PC-98GS Input AH=01h ES:DX=buffer address CX=number of bytes to write (6-byte units) Output CF=0 Explanation o Write data to SGP work RAM. SGP (Super Graphic Processor) is a graphics processor installed in PC-98GS. Since the specifications are not disclosed, the format of the data transferred using this BIOS is unknown. o Can only be used when 0000:0597 bit 7=1. Related INT 1Fh - Function 00h 0000:0597h bit 7 I/O A562h ■High-resolution mode multitasking interrupt INT 1Fh - Function 80h Subfunction 00h Classification Multitasking interrupt Name Keyboard BIOS idle interrupt Target High-resolution Input AX=8000h Output CF=End condition Explanation o Called when the keyboard BIOS is waiting for key input. The BIOS processing changes depending on the CF state when it returns. For details on the processing content, see the "Explanation" column of INT 18h - Function 00h. o There is no processing routine for this function in the BIOS. This interrupt is defined for applications and drivers to hook. Related INT 18h - Function 00h INT 1Fh - Function 81h INT 1Fh - Function 88h INT 1Fh - Function 80h Subfunction 18h Classification Multitasking compatible interrupt Name BRANCH BIOS idle interrupt Undocumented Target Hi-Res Input AX=8018h Output CF=End condition Explanation o Details unknown. BRANCH BIOS processing changes depending on the CF state when it returns. o There is no processing routine for this function in the BIOS. This is an interrupt defined for applications and drivers to hook. Related INT 1Fh - Function 81h Classification Multitasking compatible interrupt Name Call from interrupt handler Undocumented Target Hi-Res Input AH=81h AL=Device type 00h: Call from keyboard interrupt handler 18h: Call from BRANCH4670 interrupt handler 40-43h: Unknown 44-47h: Unknown 48-4Bh: Unknown 4C-4Fh: Unknown Output None Explanation o When one character is stored in the key buffer, the keyboard interrupt (INT 09h) handler calls with AL=00h. For the timing of the call, see INT 1Fh - Function 88h. o The BRANCH BIOS external interrupt handler is called with AL=18h. It may also be called with AL=40-4Fh, but the details are unknown. o There is no processing routine for this function in the BIOS. This is an interrupt defined for applications and drivers to hook. Related INT 1Fh - Function 80h INT 1Fh - Function 88h INT 1Fh - Function 82h Classification Multitasking compatible interrupt Name Interrupt when printer is BUSY Target Hi-Res Input AH=82h AL=Device type 08h: Printer 4C-4Fh: Unknown Output None Description o When sending to the printer with INT 1Ah - Function 14h, if the printer is in a BUSY state, this is called with AL=08h. For the timing of the call, see INT 1Ah - Function 14h. o It may be called with AL=4C-4Fh, but the details are unknown. o There is no processing routine for this function in the BIOS. This is an interrupt defined for applications and drivers to hook. Related INT 1Ah - Function 14h INT 1Fh - Function 83h Classification Multitasking compatible interrupt Name Received interrupt occurrence notification Target Hi-Res Input AH=83h AL=Interrupt occurrence channel number 10h: Received data from RS-232C CH#0 11h: Received data from RS-232C CH#1 12h: Received data from RS-232C CH#2 18h: Executed processing for BRANCH4670 socket 80h 19h: Executed processing for BRANCH4670 socket 90h 1Ah: Executed processing for BRANCH4670 socket A0h 1Bh: Executed processing for BRANCH4670 socket B0h 40-43h: Unknown Output None Explanation o Executed processing for RS-232C from INT 19h - Function When initialized at 07h (extended mode), the RS-232C interrupt handler is called at AL=10-12h at the end of each receive interrupt (just before IRET). o The BRANCH BIOS external interrupt handler is called at AL=18-1Bh. It may also be called at AL=40-43h, but the details are unknown. o There is no processing routine for this function within the BIOS. This is an interrupt defined so that applications and drivers can hook it. Related INT 19h - Function 07h INT 1Fh - Function 88h Classification Multitasking compatible interrupt Name Call from keyboard interrupt handler Target Hi-Res Input AH=88h AL bit 7: Make/Break 1= Make (key pressed) 0= Break (key released) AL bit 6-0: Key code of the key whose state has changed BL= Shift key flag state at the time of interrupt occurrence (0000:053Ah) Output CF= Notification of key processing method 1= Make the keyboard interrupt handler skip processing 0= Make the keyboard interrupt handler process Explanation o When a key is pressed or released (state changes), this function is called from within the keyboard interrupt (INT 09h) handler. At this time, the Make/Break state and key code of the key are set in AL, and the state of the shift key flag at that time is set in BL. o There is no processing routine for this function in the BIOS. It is an interrupt defined for applications and drivers to hook. o By hooking this function, you can skip the processing of the keyboard interrupt handler when a specific key is pressed (released). When this function is called, if the key code of the key you want to skip is set, it sets CF=1 and returns. Then the keyboard interrupt handler will not process that key. However, in the 80x86 CPU, when an internal interrupt (INT) is executed, the flag state is saved, so to notify the caller of INT of the state with the carry flag, it is necessary to manipulate the flag on the stack. A program example is shown in Table [Example of INT 1Fh - Function 88h Handler]. u The technical data book mentions the existence of this function, but does not show how to use it specifically. u In high-resolution mode, when a key is pressed (released), the following processing is performed. 1. When a key is pressed (Make) or released (Break), the keyboard transmits the key code of the key whose state has changed and the Make/Break state to the main unit as serial data. When the main unit's keyboard interface (8251A) receives data from the keyboard, it generates an interrupt (INT 09h). When the CPU accepts the interrupt, it executes the keyboard interrupt (INT 09h) handler and performs the following processing. 2. First, it obtains the status of the 8251A and determines whether there is a receive error. If there is an error in the received data (framing error, overrun error, or parity error), it performs the following processing. It requests the keyboard to resend the data. It receives the received data with the error from the 8251A and discards it. It ends the interrupt handler. The number of errors that occur is counted, and up to three retries are performed. If a receive error occurs four or more times, it gives up on the retries, ignores the error, and continues the following processing. 3. If there is no receive error, it receives the received data from the 8251A. Based on this, the press status table at 0000:052A to 0539h is updated. 4. Set the received data in AL and the current shift key flag status in BL, and execute INT 1Fh - Function 88h. 5. If CF=1 as a result of executing INT 1Fh - Function 88h, do not perform processing from 6 onwards for that received data. Immediately terminate the interrupt handler. If CF=0, continue with the following processing. 6. Refer to the internal interrupt key setting table at 0000:0418h, if the received data is a key that will generate an internal interrupt, execute INT 05h or INT 06h and then terminate the interrupt handler. 7. Refer to the shift key definition table at 0000:0408h, if the received data is a key defined as a shift key, update the shift key press status flag at 0000:053Ah and then terminate the interrupt handler. 8. If the received data indicates Break, the interrupt handler ends here. 9. If the received data indicates Make, the shift key state and the received data are added to the key buffer. If the key buffer overflows, no data is added, a beep (2 kHz, 100 ms) is sounded, and the interrupt handler ends. 10. At this point, if there is one character of key input data in the buffer, INT 1Fh - Function 8100h is executed. 11. The interrupt handler ends. Table INT 1Fh - Function 88h handler example NewInt1F88 PROC FAR ;To ignore pressing [HOME] on the XA keyboard ;(Do not check the shift state) cmp al,5Eh + 80h ;MAKE HOME jne IsNotHOME ;Set the carry flag on the stack to 1 push bp mov bp,sp or [bp+06h],BYTE PTR 01h ;CF=1 pop bp IsNotHOME: iret NewInt1F88 ENDP Related INT 1Fh - Function 80h INT 1Fh - Function 81h INT 09h 0000:053Ah INT18KB.TXT key code and key data table ■Resume control INT 1Fh - Function 8B00h Classification RESUME BIOS Name Resume processing for EMM386 Target PC-9801NS/E, NC, NL, NS/L, NA Input AX=8B00h Output None Explanation o If the power is turned on under the following conditions, the BIOS issues this function immediately after the power is turned on. ・Resume function is ON ・0000:0400h bit 4=1 o Used by the BIOS to notify the EMS driver using virtual 86 mode (hereafter abbreviated as V86EMS driver) that the power has been turned on. EMM386.SYS (resume-compatible version) and EMM386.EXE trap this function. When EMM386 is installed, executing this function will turn on the virtual 86 mode that was released with INT 1Fh - Function 8C00h again. There is no processing routine for this function in the BIOS. o When resuming with the V86EMS driver installed, if you turn the power off while in virtual 86 mode, the virtual 86 mode-related state cannot be restored when the power is turned on again (if the CPU does not support the SMM function). The following procedure is required to support resume. In other words, just before turning the power off, the BIOS notifies the V86EMS driver that the power is about to be turned off. Upon receiving this notification, the V86EMS driver saves the virtual 86 mode-related state and turns virtual 86 mode OFF. Also, just after turning the power on, the BIOS notifies the V86EMS driver that the power is ON. Upon receiving this notification, the V86EMS driver restores the virtual 86 mode-related state and turns virtual 86 mode ON. The power ON notification is made by INT 1Fh - Function 8B00h, and the power OFF notification is made by INT 1Fh - Function 8C00h. o The PC-9801NS/T・NS/R・P・NX/C・NS/A・NL/R, PC-9821Ne, etc. have CPUs that support the SMM function and have built-in suspend/resume functions, so this function is not issued. u The PC-9801NL is equipped with V30HL, so it cannot use virtual 86 mode, but this function is issued. Related INT 1Fh - Function 8B80h INT 1Fh - Function 8C00h INT 1Fh - Function 9A20h 0000:0400h bit 5,4 INT 1Fh - Function 8B80h Classification RESUME BIOS Name Resume post-processing Undocumented Target PC-9801NV, NS/E, NC, NL, NS/L, NA Input AX=8B80h Output None Explanation o When the power is turned on under the following conditions, the BIOS issues this function after INT 1Fh - Function 8B00h (PC-9801NV does not issue INT 1Fh - Function 8B00h, so only this function is called). ・Resume function is ON ・0000:0400h bit 4=1 o Device drivers that require special processing for resume can trap this function and perform the necessary processing after power is turned on. The BIOS does not have a processing routine for this function. It is an interrupt that is defined for drivers to hook. o The PC-9801NS/T・NS/R・P・NX/C・NS/A・NL/R, PC-9821Ne, etc. have CPUs that support SMM function and have built-in suspend/resume functions, so this function is not issued. Related INT 1Fh - Function 8B00h INT 1Fh - Function 8C80h INT 1Fh - Function 9A20h 0000:0400h bit 5,4 INT 1Fh - Function 8C00h Classification RESUME BIOS Name Suspend processing for EMM386 Target PC-9801NS/E・NC・NL・NS/L・NA Input AX=8C00h Output None Explanation o If the power is turned off under the following conditions, the BIOS issues this function just before the power is turned off. ・Resume function is ON ・0000:0400h bit 4=1 o Used by the BIOS to notify the EMS driver using virtual 86 mode (hereafter abbreviated as V86EMS driver) that the power has been turned off. EMM386.SYS (resume compatible version) and EMM386.EXE trap this function. When EMM386 is installed, executing this function turns off virtual 86 mode. The BIOS does not have a processing routine for this function. o When resuming with the V86EMS driver installed, if you turn the power off while in virtual 86 mode, the virtual 86 mode-related state cannot be restored when the power is turned on again (if the CPU does not support the SMM function). The following procedure is required to support resume. In other words, just before turning the power off, the BIOS notifies the V86EMS driver that the power is about to be turned off. Upon receiving this notification, the V86EMS driver saves the virtual 86 mode-related state and turns virtual 86 mode OFF. Also, just after turning the power on, the BIOS notifies the V86EMS driver that the power is ON. Upon receiving this notification, the V86EMS driver restores the virtual 86 mode-related state and turns virtual 86 mode ON. The power ON notification is made by INT 1Fh - Function 8B00h, and the power OFF notification is made by INT 1Fh - Function 8C00h. o The actual processing of turning the power off is performed by the NOTE system interrupt (INT 0Eh or INT 17h) handler. This function is also called from the NOTE system interrupt. o The PC-9801NS/T・NS/R・P・NX/C・NS/A・NL/R, PC-9821Ne, etc. have CPUs that support the SMM function and have built-in suspend/resume functions, so this function is not issued. u The PC-9801NL is equipped with a V30HL, so it cannot use virtual 86 mode, but this function is issued. Related INT 1Fh - Function 8B00h INT 1Fh - Function 8C80h INT 1Fh - Function 98h INT 1Fh - Function 9A20h INT 0Eh (External interrupt...98NOTE) INT 17h (External interrupt...98NOTE) 0000:0400h bit 5,4 INT 1Fh - Function 8C80h Classification RESUME BIOS Name Pre-suspend processing Undocumented Target PC-9801NV, NS/E, NC, NL, NS/L, NA Input AX=8C80h Output CF=End condition 1=Power OFF not possible 0=Power OFF possible Explanation o If you try to turn off the power under the following conditions, the BIOS will issue this function before INT 1Fh - Function 8C00h (for PC-9801NV, INT 1Fh - (Since 0000:0400h is not issued as Function 8C00h, only this function is called). ・Resume function is ON ・0000:0400h bit 4=1 o Device drivers that require special processing for resume can trap this function to perform the necessary processing before powering off. The BIOS does not have a processing routine for this function. It is an interrupt that is defined for drivers to hook. o The actual processing of powering off is performed by the NOTE system interrupt (INT 0Eh or INT 17h) handler. This function is also called from the NOTE system interrupt. o If this function ends with CF=1, the BIOS considers that the pre-suspend processing has failed, and executes this function again with the next NOTE system interrupt. This process is repeated until it ends with CF=0. o For PC-9801NS/T・NS/R・P・NX/C・NS/A・NL/R, PC-9821Ne, etc., the CPU supports the SMM function and has a built-in suspend/resume function, so this function is not issued. Related INT 1Fh - Function 8B80h INT 1Fh - Function 8C00h INT 1Fh - Function 98h INT 1Fh - Function 9A20h INT 0Eh (External interrupt...98NOTE) INT 17h (External interrupt...98NOTE) 0000:0400h bit 5,4 Figure Power ON/OFF when resume is ON See the figure in the book INT 1Fh - Function 8Bh Classification RESUME BIOS Name Resume processing Undocumented Target PC-98HA Input AH=8Bh Output None Explanation o When the power is turned on, the BIOS issues this function. o It appears that it can be used in combination with INT 1Fh - Function 8Ch to perform resume processing. Details unknown. o There is no processing routine for this function in the BIOS. It is an interrupt that is defined for applications and drivers to hook. Related INT 1Fh - Function 8Ch INT 1Fh - Function 8Ch Classification RESUME BIOS Name Suspend processing Undocumented Target PC-98LT/HA Input AH=8Ch Output CF=End condition 1=Power OFF not possible 0=Power OFF possible Explanation o When you try to turn off the power, the BIOS issues this function. It is thought to be used by applications and drivers that do not want the power to be turned off at any time. Details unknown. In PC-98HA, it can also be used in combination with INT 1Fh - Function 8Bh to perform resume processing. o There is no processing routine for this function in the BIOS. It is an interrupt defined for applications and drivers to hook. Related INT 1Fh - Function 8Bh INT 1Fh - Function 8Dh Classification ??? Name Unknown Undocumented Target PC-98LT Input AH=8Dh Output CF=End condition Explanation o Used in the INT 0Ah handler of PC-98LT. It does not appear to be used in PC-98HA. o There is no processing routine for this function in the BIOS. It is an interrupt defined for applications and drivers to hook. Related ■PC-98HA Alarm BIOS INT 1Fh - Function 8Eh Classification ALARM BIOS Name Alarm notification Target PC-98HA Input AH=8Eh Output CF=End condition 0: Do not process alarm 1: Process alarm Explanation o Issued by BIOS when it matches the alarm time set in INT 1Ch - Function 07h. o CF notifies BIOS whether to process alarm. If you return with CF=1, BIOS will issue INT 1Fh - Function 8Fh every 100ms. If you return with CF=0, INT 1Fh - Function 8Fh will not be issued. o If you want to sound the buzzer when the set time is reached, hook this function to INT 1Fh - Function 8Fh. Turn the buzzer on and off within the processing routine of INT 1Fh - Function 8Fh. When the alarm time arrives, the BIOS simply issues INT 1Fh - Function 8Eh, 8Fh, and does not perform any processing such as sounding the buzzer. o There is no processing routine for this function in the BIOS. This is an interrupt defined for applications and drivers to hook. Related INT 1Ch - Function 07h INT 1Fh - Function 8Fh INT 1Fh - Function 8Fh Classification ALARM BIOS Name Alarm sounding timer Target PC-98HA Input AH=8Fh Output CF=End condition 1: Stop alarm processing 0: Continue alarm processing Explanation o When INT 1Fh - Function 8Eh is returned with CF=1, the BIOS issues this every 100ms. o CF notifies the BIOS whether to continue alarm processing. When CF=0 is returned, this function is continuously issued every 100ms. Returning with CF=1 stops issuing this function. o There is no processing routine for this function in the BIOS. This is an interrupt defined for applications and drivers to hook. Related INT 1Ch - Function 07h, 08h, 09h INT 1Fh - Function 8Eh ■Protected memory BIOS INT 1Fh - Function 90h Classification Protected memory BIOS Name Memory transfer to and from protected memory Undocumented Target Machines with 80286 or higher CPU Input AH=90h ES:BX=Segment descriptor pointer SI=Source address offset (segment is specified by DS selector) DI=Destination address offset (segment is specified by ES selector) CX=Number of bytes transferred (64KB when 0) <Segment descriptor structure> -------------+-------------------------- Address | Contents -------------+-------------------------- ES:BX+00-0Fh | Reserved (no user setting required) ES:BX+10-17h | For DS (user setting required) ES:BX+18-1Fh | For ES (user setting required) ES:BX+20-27h | For CS (no user setting required) ES:BX+28-2Fh | For SS (no user setting required) -------------+-------------------------- Output CF=End condition 1: Error (CPU is in V30 or V30 equivalent mode) 0: Normal end Explanation o Performs memory transfer with protected memory. Related 0000:0401h INT 1Fh - Function 91h INT 1Fh - Function 91h Classification Protected memory BIOS Name Program execution on protected memory Undocumented Target Machines with 80286 or higher CPU Input AH=91h ES:BX=Segment descriptor pointer DH=ICW2 (first interrupt number) when initializing master PIC DL=ICW2 (first interrupt number) when initializing slave PIC <Segment descriptor structure> -------------+-------------------------- Address | Contents -------------+-------------------------- ES:BX+00-07h | Reserved (user setting not required) ES:BX+08-0Fh | GDT (user setting required) ES:BX+10-17h | IDT (user setting required) ES:BX+18~1Fh | For DS (user can set as desired) ES:BX+20~27h | For ES (user can set as desired) ES:BX+28~2Fh | For SS (user must set) ES:BX+30~37h | For CS (user must set) -------------+-------------------------- Output CF=End condition 1: Error (CPU is in V30 or V30 equivalent mode) 0: Normal end Explanation o Shifts execution to the program in the protected memory. o The following preparations are required before executing the function. - Set SHUT 0 = 0 (OUT 37h,0Eh) - Push the return address segment (PUSH CS) - Push the return address offset (PUSH offset address) - Save the SP value at 0000:0404h - Save the SS value at 0000:0406h o The user program ends with IRET. Related INT 1Fh - Function 90h 0000:0404h I/O 0037h INT 1Fh - Function 92h Classification ??? BIOS Name Unknown Undocumented Target PC-9801P Input AH=92h AL=00h,01h Output None Explanation o Unknown. Operates I/O 998Eh bit 1. When AL=00h, set I/O 998Eh bit 1=0 When AL=01h, set I/O 998Eh bit 1=1 u In the part of the BIOS that judges AH=92h, the logic of the conditional branch command after the compare (cmp ah,92h) is reversed from the original. Therefore, even if INT 1Fh is executed with AH=92h, the original processing routine of this function is not executed. Conversely, when INT 1Fh is executed with AH=93-95h, 99h, 9B-9Dh, 9Fh, etc., which do not originally have a processing routine, the original processing routine of this function is executed. Related I/O 998Eh bit 1 ■Display Suspend BIOS INT 1Fh - Function 93h Classification Display Suspend BIOS Name Display low power consumption mode control Undocumented Target PC-9801BA2・BS2・BX2, PC-9821Ap2・As2・Bf・Bp・Bs・Be・Ts・Cs2・Ce2 Input AH=93h AL=mode 00h: Switch to suspend mode (display OFF) 01h: Switch to ON mode (display ON) Output None Explanation o Sets the low power consumption mode of a DPMS (Display Power Management System) compatible display. o When executed with AL=00h, the R, G, B, and VSYNC signals among the video output signals will stop. If a DPMS-compatible display is connected, the display will enter suspend mode. There is no function to enter standby mode (where the R, G, B, and HSYNC signals stop) as specified by DPMS. o On the PC-9821Ts, the LCD backlight turns off in suspend mode. o The PC-9801NS/A/NL/R do not support this function. u If this function is executed two or more times in succession with AL=00h, the CRT-related hardware status saved at 0000:05B4h, 05B5h will be destroyed, and the display status cannot be restored to normal with AL=01h. Related 0000:05B4h 0000:05B5h I/O 09A2h INT 1Fh - Function 9A07h ■ROM drive BIOS INT 1Fh - Function 94h Classification ROM drive BIOS Name Reading from ROM drive Undocumented Target PC-98LT/HA, PC-9801NL Input AH=94h CX=Transfer data length (unit: 16 bytes) DX=Transfer start address in ROM drive (unit: 16 bytes) ES:BX=Transfer address Output CF=0 Explanation o Reads the contents of the built-in ROM drive into a buffer. o The ROM drive stores the MS-DOS system, and can be booted from the ROM drive. When booting from the ROM drive, the drive name of the ROM drive becomes C:. Related INT 1Fh - Function 95h Reference TheBASIC'92/6-p.109 (c)enjo INT 1Fh - Function 95h Classification ROM drive BIOS Name Writing to ROM drive Undocumented Target PC-98LT/HA, PC-9801NL Input AH=95h CX=Transfer data length (unit: 16 bytes) DX=Transfer start address in ROM drive (unit: 16 bytes) ES:BX=Transfer address Output CF=End condition 1: Unable to write (insufficient area or write protect ON) 0: Normal end Explanation o Patches the built-in ROM drive. o Models with ROM drives have built-in battery-backed SRAM. This SRAM can be used to patch the contents of the ROM drive. o If there is insufficient area for patching in the SRAM, it returns with CF=1. o For PC-98LT/HA, I/O 0035h bit 5 is the write protect bit. When this value is 0, writing is prohibited. o For PC-9801NL, the write protect state can be controlled by INT 1Fh - Function 9Dh Subfunction 00h,01h. Related INT 1Fh - Function 94h INT 1Fh - Function 9Dh Subfunction 00h,01h INT 1Fh - Function 9Dh Subfunction 02h 0000:045Ch bit 3[PC-9801NL] I/O 0035h bit 5[PC-98LT/HA] Reference TheBASIC'92/6-p.109 (c)enjo ■98NOTE related BIOS INT 1Fh - Function 96h Classification ??? BIOS Name Get internal modem setting status Undocumented Target 98NOTE, PC-9801US, PC-98HA Input AH=96h Output DX=Internal modem setting status bit 15=Modem power 1=ON 0=OFF bit 14=Parity (Don't care when setting with INT 1Fh - Function 97h) bit 13=Loss of carrier disconnect 1=No 0=Yes bit 12=CI option selection 1=No 0=Yes bit 11=CD option selection 1=No 0=Yes bit 10=Answer tone confirmation 1=No 0=Yes bit 9=Answer tone transmission 1=No 0=Yes bit 8=Automatic answering 1=No 0=Yes bit 7=Buzzer off 1=No 0=Yes bit 6,5=Dial mode 11b=20pps 10b=10pps 00b=Tone bit 4=Loopback test 1=No 0=Yes bit 3,2=Communication speed [2400bps/300bps/1200bps/AUTO=00/01/10/11] 11b=AUTO 10b=1200bps 01b=300bps 00b=2400bps bit 1,0=Modem mode 10b=CALL 01b=ANS 00b=AUTO Description o Reads the current setting status of the built-in modem. u PC-9801NL/NS/L/P/NS/A/NL/R/US, PC-9821Ne do not have a dedicated modem slot, but the process remains. Related INT 1Fh - Function 97h Memory SW 14h [PC-98HA] Memory SW 15h [PC-98HA] INT 1Fh - Function 97h Classification ??? BIOS Name Built-in modem settings Undocumented Target 98NOTE, PC-9801US, PC-98HA Input AH=97h DX=Modem setting value * See INT 1Fh - Function 96h for the setting value Output None Description o Sets the status of the built-in modem. The setting of this function is also reflected in the 98NOTE menu. u PC-9801NL/NS/L/P/NS/A/NL/R/US and PC-9821Ne do not have a dedicated modem slot, but the process remains. Related INT 1Fh - Function 96h Memory SW 14h [PC-98HA] Memory SW 15h [PC-98HA] ■Power BIOS INT 1Fh - Function 98h Classification Power BIOS Name Power OFF Undocumented Target PC-98LT/HA, PC-9801LV/UV11/CV, 98NOTE, PC-H98 Input AH=98h Output None Explanation o Turns the power OFF. o On models that can resume, the system interrupt handler performs the actual power OFF process. For this reason, the execution of this function and the actual power OFF are asynchronous. The CPU continues to execute the instruction following INT 1Fh that called this function until the power is turned OFF. o When the power is turned ON with resume ON, the address where the user program resumes execution is the position to return from the system interrupt that actually turned the power OFF. u On the PC-9801N, executing this function will cause the system to go out of control. The PC-9801NS has a processing routine, but the I/O operation being executed there does not turn the power OFF. The PC-9801UV11/CV has the same ROM as the PC-9801LV, so there is a processing routine for this function, but the power cannot be turned off. Related INT 0Ah (External interrupt...LT/HA) INT 0Eh (External interrupt...98NOTE) INT 17h (External interrupt...98NOTE) INT 1Fh - Function 8Ch INT 1Fh - Function 8C00h INT 1Fh - Function 8C80h INT 1Fh - Function 9Eh Subfunction 00h,01h INT 1Fh - Function DFh ■PC-98HA related BIOS INT 1Fh - Function 99h Classification ??? BIOS Name Unknown Undocumented Target PC-98HA Input AH=99h Output CF Explanation o Unknown Related ■98NOTE Advanced Power Management BIOS INT 1Fh - Function 9A00h Classification Advanced Power Management BIOS Name Installation Check Undocumented Target PC-9801NS/R・P・NX/C・NS/A・NL/R, PC-9821Ne Input AX=9A00h Output CF=0 (normal end) AH=major version (BCD) AL=minor version (BCD) BX=504Dh('PM') CX=function flag bit 7-4 = reserved bit 3 = power management 1: disabled 0: enabled (always 0 on PC-9800) bit 2 = CPU idle 1: low speed (low power consumption) 0: highest speed (always 0 on PC-9800) bit 1 = support for 32-bit protected mode interface 1: enabled 0: disabled bit 0 = support for 16-bit protected mode interface 1: Yes 0: No ----------------+-----+-----+-------+ Model name | AH | AL | CX | ----------------+-----+-----+-------+ PC-9801NS/R | 01h | 00h | 0003h | PC-9801P | 01h | 01h | 0003h | PC-9801NX/C・NL/R| 01h | 02h | 0003h | PC-9821Ne | 01h | 03h | 0003h | PC-9801NS/A | 01h | 03h | 0003h | ----------------+-----+-----+-------+ Explanation o Checks for the presence of APM-BIOS. o Equivalent to INT 15h - Function 5300h on IBM-PC/AT compatible machines. Related INT 1Fh - Function 9A01h Classification Advanced Power Management BIOS Name Interface Connect Undocumented Target PC-9801NS/R・P・NX/C・NS/A・NL/R, PC-9821Ne Input AX=9A01h Output ■CF=0 (normal end) ■When CF=1 (error) AH=return code 02h: Already declared to be in use Explanation o Declares the start of use of the APM BIOS (for real mode). o Equivalent to INT 15h - Function 5301h on IBM-PC/AT compatible machines. Related INT 1Fh - Function 9A04h INT 1Fh - Function 9A02h Classification Advanced Power Management BIOS Name Protected Mode 16-bit Interface Connect Undocumented Target PC-9801NS/R・P・NX/C・NS/A・NL/R, PC-9821Ne Input AX=9A02h Output ■When CF=0 (normal end) AX=Segment address of 16-bit protected mode code segment in real mode BX=Entry address offset CX=Segment address of 16-bit protected mode data segment in real mode ■When CF=1 (error) AH=Return code 05h: Already declared to be in use 06h: Not supported Explanation o Declares the start of use of APM-BIOS (for virtual 86 mode). o Corresponds to INT 15h - Function 5302h on IBM-PC/AT compatible machines. Related INT 1Fh - Function 9A04h INT 1Fh - Function 9A03h Classification Advanced Power Management BIOS Name Protected Mode 32-bit Interface Connect Undocumented Target PC-9801NS/R・P・NX/C・NS/A・NL/R, PC-9821Ne Input AX=9A03h Output ■When CF=0 (normal end) AX=Segment address of 32-bit protected mode code segment in real mode EBX=Entry address offset CX=Segment address of 16-bit protected mode code segment in real mode DX=Segment address of 16-bit protected mode data segment in real mode ■When CF=1 (error) AH=Return code 07h: Already declared to be in use 08h: Not supported Explanation o Declares the start of use of APM-BIOS (for protected mode). o IBM-PC/AT compatible machines INT 15h - Function 5303h equivalent. Related INT 1Fh - Function 9A04h INT 1Fh - Function 9A04h Classification Advanced Power Management BIOS Name Interface Disconnect Undocumented Target PC-9801NS/R・P・NX/C・NS/A・NL/R, PC-9821Ne Input AX=9A04h Output ■CF=0 (normal end) ■When CF=1 (error) AH=return code 03h: APM BIOS is not declared to be in use Explanation o Declares the end of use of APM-BIOS. o Equivalent to INT 15h - Function 5304h on IBM-PC/AT compatible machines. Related INT 1Fh - Function 9A01h INT 1Fh - Function 9A02h INT 1Fh - Function 9A03h INT 1Fh - Function 9A05h Category Advanced Power Management BIOS Name CPU Idle Undocumented Target PC-9801NS/R・P・NX/C・NS/A・NL/R, PC-9821Ne Input AX=9A05h Output ■CF=0 (normal end) ■When CF=1 (error) AH=return code 03h: APM BIOS is not declared to be in use Explanation o Sets the CPU to a low-speed (low-power consumption) state. o Equivalent to INT 15h - Function 5305h on IBM-PC/AT compatible machines. Related INT 1Fh - Function 9A06h INT 1Fh - Function 9A06h Classification Advanced Power Management BIOS Name CPU Busy Undocumented Target PC-9801NS/R・P・NX/C・NS/A・NL/R, PC-9821Ne Input AX=9A06h Output ■CF=0 (normal end) ■When CF=1 (error) AH=return code 03h: APM BIOS is not declared to be in use Explanation o Sets the CPU to maximum speed. o Equivalent to INT 15h - Function 5306h on IBM-PC/AT compatible machines. Related INT 1Fh - Function 9A05h INT 1Fh - Function 9A07h Classification Advanced Power Management BIOS Name Set Power State Undocumented Target PC-9801NS/R・P・NX/C・NS/A・NL/R, PC-9821Ne Input AX=9A07h BH=Device ID 00h: Entire system 01h: Display (backlight) 02h: Floppy disk 03h: Hard disk 04h: Printer 05-FFh: Reserved CX=System State ID 0000h: Ready 0001h: Standby 0002h: Suspend 0003h: Off ---------+-------------------------+---------------+---------------+---------------+---------------+ System | Device ID | Device ID | Device ID | Device ID | Device ID | State ID | 00h | 01h | 02h | 03h | 04h | ---------+-------------------------+---------------+---------------+---------------+---------------+ 0000h | Backlight ON | Backlight ON | Not working | Not working | Not working | ---------+-------------------------+---------------+---------------+---------------+---------------+ 0001h | Backlight-FDD-HDD | Backlight OFF | FDD motor OFF | HDD motor OFF | Printer port | | Motor OFF, printer port | | | | Output FFh to | | Output FFh to | | | | | ---------+-------------------------+---------------+---------------+---------------+---------------+ 0002h | Turn resume ON and power off | ---------+-------------------------+---------------+---------------+---------------+---------------+ 0003h | Immediate power off | ---------+-------------------------+---------------+---------------+---------------+---------------+ Output ■CF=0 (normal end) ■When CF=1 (error) AH=return code 03h: APM BIOS is not declared in use 09h: BH register value is out of range 0Ah: CX register value is out of range 60h: Power off is prohibited Explanation o Power control is performed for each device. The device ID specifies the device to be power controlled. If 00h is specified, all devices with device IDs 01 to 04h will be targeted. The system state ID specifies the level of power control. o Equivalent to INT 15h - Function 5307h on IBM-PC/AT compatible machines (The settings are different). Related INT 1Fh - Function 93h INT 1Bh - Function F0h(IDE HD) INT 1Bh - Function 83h(FD) INT 1Fh - Function 9A08h Classification Advanced Power Management BIOS Name Enable/Disable Power Management Functionality Undocumented Target PC-9801NS/R・P・NX/C・NS/A・NL/R, PC-9821Ne Input AX=9A08h CX=Automatic power saving function 0000h=Disabled 0001h=Enabled Output ■CF=0 (Normal end) ■When CF=1 (Error) AH=Return code 01h: CX register value is out of range 03h: APM BIOS is not declared to be in use Explanation o If the automatic power saving function is disabled, the system will not automatically switch to power saving mode. In this case, it is possible to force the system to switch to power saving mode by executing INT 1Fh - Function 9A05h. o Equivalent to INT 15h - Function 5308h on IBM-PC/AT compatible machines. Related INT 1Fh - Function 9A09h Classification Advanced Power Management BIOS Name Restore SYSTEM-BIOS Power On Defaults Undocumented Target PC-9801P/NX/C/NS/A/NL/R, PC-9821Ne Input AX=9A09h Output ■CF=0 (normal end) ■When CF=1 (error) AH=return code 03h: APM BIOS is not declared to be in use Explanation o Initialize the BIOS in the same way as when the power is turned on. Executes the initialization function for printer BIOS, floppy disk BIOS, hard disk BIOS, Pen BIOS, and CRT BIOS. o Equivalent to INT 15h - Function 5309h for IBM-PC/AT compatible machines. Related INT 1Fh - Function 9A0Ah Classification Advanced Power Management BIOS Name Get Power Status Undocumented Target PC-9801NS/R・P・NX/C・NS/A・NL/R, PC-9821Ne Input AX=9A0Ah Output ■When CF=0 (normal end) BL=AC adapter connection status 00h: Not connected 01h: Connected CL=Battery pack remaining capacity bit 7-5: Unused bit 4-0: Battery status CH=Second battery pack remaining capacity bit 7-5: Unused bit 4-0: Battery status <Meaning of battery status> ---------------------+------------------------------------------------------------ Value | Meaning (The notation in <> is the expression in the battery remaining capacity display field in the 98NOTE menu) ---------------------+------------------------------------------------------------ x1xxxb | <Unconfirmed> 00000b | Battery remaining capacity [0/8] 00001b | Remaining battery capacity [1/8] 00010b | Remaining battery capacity [2/8] 00011b | Remaining battery capacity [3/8] 00100b | Remaining battery capacity [4/8] 00101b | Remaining battery capacity [5/8] 00110b | Remaining battery capacity [6/8] 00111b | Remaining battery capacity [7/8] 10111b | Remaining battery capacity [8/8] (fully charged) 10001b | Remaining battery capacity [0/8] (there are two ways to express 0/8) 10000b | <Not connected> 10010b | <Initial charge> or <Deep discharge> 10100b | <Abnormal> Other than the above | <Invalid> ---------------------+------------------------------------------------------------ ■When CF=1 (Error) AH = Return code 01h: Failed to get battery status 03h: APM BIOS not declared active Explanation o Gets the power status. o PC-9801NL/R cannot get the remaining battery pack capacity, so always returns 4/8 remaining capacity. PC-9801P・NL/R cannot use a second battery pack, so always returns <not connected>. o Equivalent to INT 15h - Function 530Ah on IBM-PC/AT compatible machines (the information that can be obtained differs). Related I/O 8810h INT 1Fh - Function 9A0Bh Classification Advanced Power Management BIOS Name Get PM Event Undocumented Target PC-9801NS/R・P・NX/C・NS/A・NL/R, PC-9821Ne Input AX=9A0Bh Output ■When CF=0 (normal end) CL=Event status bit 2: Note menu (pen menu) request 0=None 1=Yes bit 1: Power off request 0=None 1=Yes bit 0: Unknown ■When CF=1 (error) AH=Return code 03h: APM BIOS is not declared to be in use Explanation o Gets whether there is a pending event. o Equivalent to INT 15h - Function 530Bh for IBM-PC/AT compatible machines (event status content is different). Related INT 1Fh - Function 9A0Ch Classification Advanced Power Management BIOS Name Unknown Undocumented Target PC-9801NS/R・P・NX/C・NS/A・NL/R, PC-9821Ne Input AX=9A0Ch Output ■When CF=0 (normal end) BL=unknown bit 7-3: Unused (always 0) bit 2-0: Unknown ■When CF=1 (error) AH=return code 03h: APM BIOS is not declared to be in use Explanation Reads the setting value of INT 1Fh - Function 9A0Dh. Details unknown. Related INT 1Fh - Function 9A0Dh INT 1Fh - Function 9A0Dh Classification Advanced Power Management BIOS Name Unknown Undocumented Target PC-9801NS/R・P・NX/C・NS/A・NL/R, PC-9821Ne Input AX=9A0Dh BL=Unknown bit 7-3: Unused (always 0) bit 2-0: Unknown Output ■CF=0 (normal end) ■When CF=1 (error) AH=return code 03h: APM BIOS is not declared to be in use Explanation Related INT 1Fh - Function 9A0Ch INT 1Fh - Function 9A0Eh Classification Advanced Power Management BIOS Name Get power save operation start time Undocumented Target PC-9801NS/R・P・NL/R Input AX=9A0Eh Output ■When CF=0 (normal end) BL=time (0-60 seconds) *When 0, do not use auto power save ■When CF=1 (error) AH=return code 03h: APM BIOS is not declared to be in use Explanation o Gets the time until automatically entering power save mode. Related INT 1Fh - Function 9A0Fh INT 1Fh - Function 9A0Fh Classification Advanced Power Management BIOS Name Power save operation start time setting Undocumented Target PC-9801NS/R・P・NL/R Input AX=9A0Fh BL=time (0-60 seconds) * When 0, do not use auto power save Output ■CF=0 (normal end) ■When CF=1 (error) AH=return code 03h: APM BIOS is not declared to be in use 04h: BL register value is out of range Explanation o Sets the time until automatically entering power save mode. If the value set in the BL register is not 1, 2, 3, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, or 60, it is set to the closest value below the BL register. o Equivalent to the power save mode setting in the 98NOTE menu. Related INT 1Fh - Function 9A0Eh INT 1Fh - Function 9A10h Category Advanced Power Management BIOS Name Get auto power off time Undocumented Target PC-9801NS/R・P・NX/C・NS/A・NL/R, PC-9821Ne Input AX=9A10h Output ■When CF=0 (normal end) BL=time (0-60 minutes) *When 0, auto power off is not used ■When CF=1 (error) AH=return code 03h: APM BIOS is not declared to be in use Explanation Gets the time until auto power off. Related INT 1Fh - Function 9A11h INT 1Fh - Function 9A11h Category Advanced Power Management BIOS Name Auto power off time setting Undocumented Target PC-9801NS/R・P・NX/C・NS/A・NL/R, PC-9821Ne Input AX=9A11h BL=time (0-60 minutes) * When 0, auto power off is not used Output ■CF=0 (normal end) ■When CF=1 (error) AH=return code 03h: APM BIOS is not declared to be in use 04h: BL register value is out of range or resume is not set Explanation o Sets the time until auto power off. If the value set in the BL register is not 1, 2, 3, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, or 60, it will be set to the closest value below the BL register. o Equivalent to the Auto Power Off setting in the 98NOTE menu. Related INT 1Fh - Function 9A10h INT 1Fh - Function 9A12h Classification Advanced Power Management BIOS Name Gets the status of the timer calendar clock LSI Undocumented Target PC-9801P Input AX=9A12h Output ■When CF=0 (normal end) AH=0Bh (unknown) BL=Timer usage status 00h: Timer calendar clock IC cannot be used 02h: Timer calendar clock IC can be used ■When CF=1 (error) AH=Return code 03h: APM BIOS has not been declared to be in use Explanation o Reads the contents set in INT 1Fh - Function 9A13h. 00h is returned to BL at startup. Details unknown. Related INT 1Fh - Function 9A13h I/O 8E1Eh bit 4 INT 1Fh - Function 9A13h Classification Advanced Power Management BIOS Name Enable/disable use of calendar clock LSI for timers Undocumented Target PC-9801P Input AX=9A13h BL=Timer enable status 00h: Disable use 02h: Enable use Output ■When CF=0 (normal end) AH=0Bh (unknown) ■When CF=1 (error) AH=Return code 03h: APM BIOS has not been declared enabled Explanation o Details unknown. When BL bit 1=1, set I/O 8E1Eh bit 4=1. When BL bit 1=0, set I/O 8E1Eh bit 4=0. Related INT 1Fh - Function 9A12h I/O 8E1Eh bit 4 INT 1Fh - Function 9A14h Classification Advanced Power Management BIOS Name Get timer setting time from timer calendar clock LSI Undocumented Target PC-9801P Input AX=9A14h Output ■When CF=0 (normal end) BH=month BL=day CH=hour CL=minute DH=second DL= bit 7-3: Always 00000b bit 2: Unknown 1=When I/O 5E8Eh bit 7=1 0=When I/O 5E8Eh bit 7=0 bit 1: Unknown 1=When I/O 8B1Eh bit 6=0 0=When I/O 8B1Eh bit 6=1 bit 0: Always 0 ■When CF=1 (error) AH=Return code 03h: APM BIOS is not declared in use Explanation o INT 1Fh - Gets the time set by Function 9A15h. Details unknown. Related INT 1Fh - Function 9A15h 0000:045Dh bit7 I/O 5E8Eh bit7 I/O 8E1Eh INT 1Fh - Function 9A15h Category Advanced Power Management BIOS Name Set timer time to timer calendar clock LSI, start timer Undocumented Target PC-9801P Input AX=9A15h BH=month BL=day CH=hour CL=minute DH=second Output ■CF=0 (normal end) ■When CF=1 (error) AH=return code 03h: APM BIOS is not declared to be in use 04h: BH register value is out of range Explanation o Details unknown. Related INT 1Fh - Function 9A14h INT 1Fh - Function 9A16h 0000:045Dh I/O 5E8Eh bit 7 I/O 8B1Eh bit 6 INT 1Fh - Function 9A16h Classification Advanced Power Management BIOS Name Stop timer Undocumented Target PC-9801P Input AX=9A16h Output ■CF=0 (normal end) ■When CF=1 (error) AH=return code 03h: APM BIOS is not declared to be in use Explanation o Stops the timer started with INT 1Fh - Function 9A15h. Details unknown. Related INT 1Fh - Function 9A15h I/O 8B1Eh bit 6 INT 1Fh - Function 9A17h,9A18h Classification Advanced Power Management BIOS Name No function Undocumented Target PC-9801NS/R・P・NX/C・NS/A・NL/R, PC-9821Ne Input AX=9A17h,9A18h Output ■CF=0 (normal end) ■When CF=1 (error) AH=return code 03h: APM BIOS is not declared to be in use Explanation o Related INT 1Fh - Function 9A19h Classification Advanced Power Management BIOS Name Unknown Undocumented Target PC-9801NS/R・P・NX/C・NS/A・NL/R, PC-9821Ne Input AX=9A19h Output ■When CF=0 (normal end) CL= 77h: PC-9801NS/R A7h: PC-9801NX/C, PC-9821Ne, PC-9801NS/A B7h: PC-9801P・NL/R ■When CF=1 (error) AH=return code 03h: APM BIOS is not declared to be in use Explanation o Related INT 1Fh - Function 9A1Ah Classification Advanced Power Management BIOS Name Unknown Undocumented Target PC-9801P・NX/C・NS/A・NL/R, PC-9821Ne Input AX=9A1Ah Output ■When CF=0 (normal end) CL=? bit 7: Battery warning buzzer when low battery 0= Battery warning buzzer sounds 1= Battery warning buzzer does not sound bit 6: Unknown bit 5: Unknown bit 4: Unknown bit 3-1: Unknown bit 0: Standby mode settings (details unknown) ■When CF=1 (error) AH=Return code 03h: APM BIOS has not been declared in use Explanation o INT 1Fh - Gets the settings set by Function 9A1Bh. Details unknown. Related INT 1Fh - Function 9A1Bh INT 1Fh - Function 9A1Bh Classification Advanced Power Management BIOS Name Unknown Undocumented Target PC-9801P・NX/C・NS/A・NL/R, PC-9821Ne Input AX=9A1Bh CL=Unknown bit 7: Battery warning buzzer when low battery 0= Battery warning buzzer sounds 1= Battery warning buzzer does not sound bit 6:Unknown bit 5:Unknown bit 4:Unknown bit 3〜1:Unknown bit 0: Standby mode related settings (details unknown) Output ■CF=0 (normal end) ■When CF=1 (error) AH=return code 03h: APM BIOS is not declared to be in use Explanation o Related INT 1Fh - Function 9A1Ah INT 1Fh - Function 9A1Ch Classification Advanced Power Management BIOS Name Unknown Undocumented Target PC-9801P・NX/C・NS/A・NL/R, PC-9821Ne Input AX=9A1Ch BX=Unknown Output ■CF=0 (normal end) ■CF=1 (error) AH=return code 03h: APM BIOS is not declared to be in use Explanation o Related INT 1Fh - Function 9A1Dh Classification Advanced Power Management BIOS Name Open 98NOTE menu Undocumented Target PC-9801NS/R・P・NX/C・NS/A・NL/R, PC-9821Ne Input AX=9A1Dh Output ■CF=0 (normal end) ■CF=1 (error) AH=return code 03h: APM BIOS is not declared to be in use Explanation o Open 98NOTE menu (98 pen menu) Related 0000:059Eh bit3 INT 1Fh - Function 9A1Eh Classification Advanced Power Management BIOS Name Unknown Undocumented Target PC-9801NS/R・P・NX/C・NS/A・NL/R, PC-9821Ne Input AX=9A1Eh Output ■When CF=0 (normal end) BX=system status bit 15-8: 0 (reserved) bit 7: printer strobe bit 6: related to the last command sent to GDC bit 5: calendar clock LSI generating timer interrupt bit 4: interrupt request to PIC bit 3: 0 (reserved) bit 2: PIC related bit 1: power off prohibited bit 0: no power off request, no 98NOTE menu request ■When CF=1 (error) AH=return code 03h: APM BIOS is not declared active Explanation o Related 0000:0456h 0000:059Eh I/O 5E8Eh bit7 INT 1Fh - Function 9A1Fh Classification Advanced Power Management BIOS Name No function Undocumented Target PC-9801NS/R・P・NX/C・NS/A・NL/R, PC-9821Ne Input AX=9A1Fh Output CF=1 (error) AH=01h: Invalid function Explanation o Related INT 1Fh - Function 9A20h Classification Advanced Power Management BIOS Name Registration of suspend/resume processing routine Undocumented Target PC-9801P・NX/C・NS/A・NL/R, PC-9821Ne Input AX=9A20h BX:DX=Entry address of suspend/resume processing routine Output ■When CF=0 (normal end) BX:DX=Old setting address (unused when 0000:0000h) CX=Registration nesting level ■When CF=1 (error) AH=Return code 03h: APM BIOS is not declared to be in use Explanation o Register the entry address of the processing routine to be executed when suspending/resume. The processing routine is FAR CALLed at AX=0000h when suspending and at AX=0001h when resuming. After its own processing is completed, it is necessary to jump to the old setting address returned by this function. At that time, save AX. However, if the old setting address is 0000:0000h, it will end with RETF. Related INT 1Fh - Function 9A21h INT 1Fh - Function 8B00h INT 1Fh - Function 8C00h INT 1Fh - Function 9A21h Category Advanced Power Management BIOS Name Delete suspend/resume processing routine Undocumented Target PC-9801P/NX/C/NS/A/NL/R, PC-9821Ne Input AX=9A21h CX=Registered nesting level BX:DX=Old setting address Output ■When CF=0 (normal end) AH=00h ■When CF=1 (error) AH=Return code 03h: APM BIOS is not declared to be in use 0Ah: Registered nesting level is invalid Explanation o Delete the suspend/resume processing routine registered with INT 1Fh - Function 9A20h. The registered nesting level and old setting address use the values returned when registered with INT 1Fh - Function 9A20h. Related INT 1Fh - Function 9A20h INT 1Fh - Function 8B00h INT 1Fh - Function 8C00h INT 1Fh - Function 9A22h,9A23h Classification Advanced Power Management BIOS Name No function Undocumented Target PC-9801P・NX/C・NS/A・NL/R, PC-9821Ne Input AX=9A22h,9A23h Output CF=1(Abnormal termination) AH=01h: Invalid function Explanation o Related INT 1Fh - Function 9A24h Classification Advanced Power Management BIOS Name Unknown Undocumented Target PC-9801P・NX/C・NS/A・NL/R, PC-9821Ne Input AX=9A24h BX:DX=Setting address Output ■When CF=0 (normal end) BX:DX=old setting address (unused when 0000:0000) CX=registered nesting level ■When CF=1 (error) AH=return code 03h: APM BIOS has not been declared in use Explanation o Sets the address of a user routine to be started by an interrupt that occurs due to some event. Details such as the timing at which it is called are unknown. Related INT 1Fh - Function 9A25h INT 1Fh - Function 9A25h Classification Advanced Power Management BIOS Name Unknown Undocumented Target PC-9801P/NX/C/NS/A/NL/R, PC-9821Ne Input AX=9A25h CX=Registered nesting level BX:DX=Old setting address Output ■When CF=0 (normal end) AH=00h ■When CF=1 (error) AH=Return code 03h: APM BIOS is not declared to be in use 0Ah: Registered nesting level is invalid Explanation o Delete the address registered with INT 1Fh - Function 9A24h. For the registered nesting level and old setting address, use the value returned when registered with INT 1Fh - Function 9A24h. Related INT 1Fh - Function 9A24h ■Pen BIOS INT 1Fh - Function 9B00h Category BIOS Name Pen BIOS Initialization Undocumented Target PC-9801P Input AX=9B00h Output CF=0 (Normal end) Explanation o Initialize the Pen BIOS. Initialization is completed when the system starts. Related INT 1Fh - Function 9B01h, 9B02h, 9B03h Category Pen BIOS Name No function Undocumented Target PC-9801P Input AX=9B01h, 9B02h, 9B03h Output CF=0 (Normal end) Explanation o Returns with CF=0 without doing anything. Related INT 1Fh - Function 9B04h Category Pen BIOS Name Tablet interrupt cycle setting Undocumented Target PC-9801P Input AX=9B04h BL=bit 7-3: Unused bit 2-0: Tablet interrupt cycle 0= 5Hz 1= 10Hz 2= 20Hz 3= 40Hz 4= 80Hz 5=100Hz (default) 6=200Hz 7=Cannot be specified Output CF=End status 0=Normal end 1=Abnormal end (when BL bit 2-0=7h) Explanation o Sets the INT 0Eh interrupt cycle when the tablet detects the pen. Related INT 1Fh - Function 9B07h INT 0Eh (External interrupt...98Pen) INT 1Fh - Function 9B05h Category Pen BIOS Name Unknown Undocumented Target PC-9801P Input AX=9B05h BL=bit 7-3: Unused bit 2-0: Command selection for tablet Output CF=0 (normal end) Explanation o Sends a command to the tablet according to the BL value. Details unknown. Related INT 1Fh - Function 9B07h INT 1Fh - Function 9B06h Category Pen BIOS Name Unknown Undocumented Target PC-9801P Input AX=9B06h BL=Command selection for tablet * When BL bit 1,0=11b or BL bit 7=0, CX,DX are not arguments CX=Tablet command (X coordinate specification) DX=Tablet command (Y coordinate specification) Output CF=0 (normal end) Explanation o Sends a command to the tablet according to the BL value. Details unknown. o If a value other than BL=80h is set, INT 1Fh - Function 9B08h will always abort. Related INT 1Fh - Function 9B07h INT 1Fh - Function 9B07h Category Pen BIOS Name Get PenBIOS mode setting status Undocumented Target PC-9801P Input AX=9B07h Output CF=0 (normal end) AL=BL value set in INT 1Fh - Function 9B06h BL= bit 7: Mouse emulation mode 1=indirect 0=direct bit 6-4: Tablet interrupt cycle 0= 5Hz 1= 10Hz 2= 20Hz 3= 40Hz 4= 80Hz 5=100Hz (default) 6=200Hz bit 3-1:BL value set in INT 1Fh - Function 9B05h 000b=default bit 0:Mouse emulation 1=enabled 0=disabled CX=CX value set by INT 1Fh - Function 9B06h DX=DX value set by INT 1Fh - Function 9B06h Explanation Obtains the mode setting status of the o Pen BIOS. Related INT 1Fh - Function 9B06h INT 1Fh - Function 9B08h INT 1Fh - Function 9B09h INT 1Fh - Function 9B08h Classification Pen BIOS Name Mouse emulation mode setting Undocumented Target PC-9801P Input AX=9B08h BX=Mouse emulation mode 0000h=Direct mode not 0=Indirect mode Output CF=End state 0=Normal end 1=Abnormal end Explanation o The mouse emulation settings in the 98 Pen menu also change, so the setting state remains valid even after resetting or turning off the power. o When a value other than BL=80h is set in INT 1Fh - Function 9B06h, this function ends abnormally. o In mouse emulation, the total pen count in the X-axis direction is 640, and the total pen count in the Y-axis direction is 400 (the total count is the number of counts that can be read from the mouse I/F when the pen is moved from the left edge to the right edge and from the top edge to the bottom edge of the screen). o In direct mouse emulation mode, button operations are performed as follows. Left button click: Touch the tip of the pen to the screen once and release it Double click the left button: Touch the tip of the pen to the screen twice and release it Left button drag: Move while keeping the tip of the pen touching the screen Right button click: With the side switch pressed, touch the tip of the pen to the screen once and release it Double click the right button: With the side switch pressed, touch the tip of the pen to the screen twice and release it Right button drag: With the side switch pressed, move while keeping the tip of the pen touching the screen o In indirect mouse emulation mode, button operations are performed as follows. Left button click (1): With the tip of the pen touching the screen, press the side switch once, lift the tip, then touch the tip of the pen to the screen once again and release it. Left button click (2): With the tip of the pen touching the screen, press the side switch once and release it. Left button double click: With the tip of the pen touching the screen, press the side switch once, lift the tip, then touch the tip of the pen to the screen twice again and release it. Left button drag (1): With the tip of the pen touching the screen, press the side switch once, lift the tip, then move the pen while keeping the tip of the pen touching the screen again. Left button drag (2): With the tip of the pen touching the screen, press the side switch once and move the pen. Right button click (1): With the tip of the pen touching the screen, quickly press the side switch twice, lift the tip, then touch the tip of the pen to the screen once again and release it. Right button click (2) : With the tip of the pen touching the screen, quickly press the side switch twice and release it. Double-click the right button: With the tip of the pen touching the screen, quickly press the side switch twice, lift the tip, then touch the tip of the pen to the screen twice again and release it. Drag the right button (1): With the tip of the pen touching the screen, quickly press the side switch twice, lift the tip, then move the pen while keeping the tip of the pen touching the screen again. Drag the right button (2): With the tip of the pen touching the screen, press the side switch once and release it, then press it again quickly and move the pen. Related INT 1Fh - Function 9B07h INT 1Fh - Function 9B09h Category Pen BIOS Name Mouse emulation OFF Undocumented Target PC-9801P Input AX=9B09h Output CF=0 (normal end) Explanation o Turns off mouse emulation. o The mouse emulation settings in the 98Pen menu also change, so the settings remain valid even after resetting or turning the power off. Related INT 1Fh - Function 9B07h INT 1Fh - Function 9B08h INT 1Fh - Function 9B0Ah Category Pen BIOS Name Unknown Undocumented Target PC-9801P Input AX=9B0Ah BL=Mouse button control related bit 1: Affects the right mouse button state bit 0: Affects the left mouse button state CH=Mouse emulation X coordinate related CL=Mouse emulation Y coordinate related Output CF=0 (normal end) Explanation o Mouse emulation related settings. Details unknown. Related INT 1Fh - Function 9B0Bh Classification Pen BIOS Name Unknown Undocumented Target PC-9801P Input AX=9B0Bh Output ES:DX=F540:058Eh Explanation o Returns the address of some table in the Pen BIOS to ES:DX. Details unknown. Related INT 1Fh - Function 9B0Ch Classification Pen BIOS Name Get current pen status Undocumented Target PC-9801P Input AX=9B0Ch Output CF=End status 0=Pen detected (pen status output to register) 1=Pen not detected (no change in register) AH=Pen status bit 7:Pen on LCD 1=Not on 0=Present bit 1:Pen side button pressed 1=Present 0=Not on bit 0:Pen tip pressed 1=Present 0=Not on AL=Unknown BH=Distance between pen and screen (smaller value means closer) BL=Unknown (usually 0 is read) CH=Angle of pen in left-right direction (signed integer with 6-bit effective precision for numeric part) ---------------+-----------+----------+------------ Tilt direction | Left tilt | Vertical | Right tilt ---------------+-----------+----------+------------ Value | -30h | 00h | +30h ---------------+-----------+----------+------------ * Tilt the pen to the right to make it positive. * If you tilt the pen too far, the tablet will not be able to detect it. CL=Angle of the pen forward and backward (signed integer with 6-bit effective precision for the numerical part) ---------------+---------------+----------+-------------- Tilt direction | Backward tilt | Vertical | Forward tilt ---------------+---------------+----------+-------------- Value | -30h | 00h | +30h ---------------+---------------+----------+-------------- * Tilt the pen forward to make it positive. * If you tilt the pen too far, the tablet will not be able to detect it. SI=X coordinate of the pen ------------------+----------------------------+--------------------+---------------------+----------------------------- Detection range | Left detection limit point | Left edge of glass | Right edge of glass | Right detection limit point ------------------+----------------------------+--------------------+---------------------+----------------------------- When not inverted | -0060h | +001Ah | +0861h | +091Ch When inverted | -00A0h | +001Ah | +0861h | +08CDh ------------------+----------------------------+--------------------+---------------------+----------------------------- DI=Y coordinate of pen ------------------+---------------------------+--------------------+--------------------+--------------------------- Sensing range | Upper sensing limit point | Upper end of glass | Lower end of glass | Lower sensing limit point ------------------+---------------------------+--------------------+--------------------+--------------------------- When not inverted | -0060h | +0010h | +0540h | +05A6h When inverted | -0060h | +0010h | +0540h | +05A6h ------------------+---------------------------+--------------------+--------------------+--------------------------- Explanation o When this function is executed, pen information is read from the tablet and set in the work area. o When the pen is detected, detailed pen information is returned to each register. If the pen is not detected, no change is made to the register. o If this function is executed continuously, the tablet will not generate interrupts even if the pen is detected, so be careful (see INT 1Fh - Function 9B0Eh). o The glass dimensions are 134mm wide x 213mm long. The tablet has a sensing range that extends to the outside of the glass. The X coordinate can be sensed up to about 10mm to the left and 13mm to the right of the outside of the glass. The Y coordinate can be sensed up to about 12mm above and 12mm below the outside of the glass. o The values obtained by CH, CL, SI, and DI are approximate actual measurements. Depending on the timing of moving the pen, this value may not be obtained at the limit point. Related INT 1Fh - Function 9B0Dh INT 1Fh - Function 9B0Dh Classification Pen BIOS Name Acquisition of pen status when pen was last detected Undocumented Target PC-9801P Input AX=9B0Dh Output CF=0 (normal end) AH, AL, BX, CH, CL, SI, DI are the same as the output of INT 1Fh - Function 9B0Ch Explanation o Returns the status when the pen was last detected. o The tablet interrupt (INT 0Eh) that occurs periodically when a pen is detected, or the tablet information acquisition routine executed within the INT 1Fh - Function 9B0Ch processing routine, reads the value set in the work area and returns it to the register. o This function cannot tell whether the pen is currently being detected. Related INT 1Fh - Function 9B0Ch INT 1Fh - Function 9B0Eh Classification Pen BIOS Name Set user routine when pen is detected Undocumented Target PC-9801P Input AX=9B0Eh ES:DX=User routine when pen is detected * Set 0000:0000h to cancel user routine call Output CF=0 (normal end) Explanation o Defines the user routine called from INT 0Eh (tablet interrupt). To cancel the call, set ES:DX=0000:0000h. o When entering the user routine, AH, AL, BX, CH, CL, SI, and DI contain the same data as the output of INT 1Fh - Function 9B0Ch. o When the tablet detects the pen, INT 0Eh is generated at the cycle specified by INT 1Fh - Function 9B04h. However, if INT 1Fh - Function 9B0Ch is executed continuously, the tablet will no longer generate interrupts. Related INT 1Fh - Function 9B04h INT 1Fh - Function 9B0Ch INT 0Eh (External interrupt...98Pen) ■NOTE-related BIOS INT 1Fh - Function 9Ch Subfuncion 00h Classification ??? BIOS Name Save software dip switch Undocumented Target PC-9801NL/NS/T/US Input AX=9C00h Output CF=0 Explanation o Saves the contents of the software dip switches set in I/O 841E-8F1Eh to the unused external character area (JIS kanji code 7620h). When this function is executed, the current settings of I/O 841E-8F1Eh can be set as the default for the next reset (excluding PC-9801US). Related I/O 841E-8F1Eh INT 1Fh - Function 9Ch Classification ROM drive BIOS Name Bulk read from ROM drive patch area Undocumented Target PC-98LT/HA Input AH=9Ch ES:BX=Destination address DX=Source address of patch area CX=Number of bytes transferred Output CF=End condition 1: SRAM checksum is abnormal 0: SRAM checksum is normal Explanation o The contents of the ROM drive patch area in the battery-backed SRAM are read in bulk to main memory. Related INT 1Fh - Function 9Dh INT 1Fh - Function 9Dh Subfunction 00h,01h Classification ROM drive BIOS Name ROM drive write protection setting Undocumented Target PC-9801NL Input AH=9Dh AL=write protection setting 00h: Write protect 01h: Make writable Output CF=0 (normal end) Explanation o Sets the write protection for the ROM drive. Related INT 1Fh - Function 95h 0000:045Ch bit 3 INT 1Fh - Function 9Dh Subfunction 02h Classification ROM drive BIOS Name Transfer of ROM drive patch information Undocumented Target PC-9801NL Input AX=9D02h Output CF=0 Explanation o Transfers all ROM drive patch information to NOTE bank RAM (bank numbers AEh, AFh) at once. o ROM drive patch information is transferred from SRAM to NOTE bank RAM when the system starts up. When reading the ROM drive, the contents transferred to NOTE bank RAM are referenced. When this function is executed, a transfer from SRAM to NOTE bank RAM is performed. The purpose is unknown. Related INT 1Fh - Function 95h INT 1Fh - Function 9Dh Classification ROM drive BIOS Name Bulk write to patch area for ROM drive Undocumented Target PC-98LT/HA Input AH=9Dh ES:BX=Source address DX=Destination address of patch area CX=Number of bytes transferred Output CF=0 Explanation o Writes the contents of main memory in a batch to the patch area for ROM drive in battery-backed SRAM. Related INT 1Fh - Function 9Ch INT 1Fh - Function 9Eh Subfunction 00h,01h Classification Power save BIOS Name Power OFF prohibition control Undocumented Target PC-9801NL Input AH=9Eh AL=Power OFF permission/prohibition specification 00h: Allow power OFF 01h: Prohibit power OFF Output None Explanation o Increment 0000:0456h when AL=01h. Decrement 0000:0456h when AL=00h. Power OFF is permitted only when 0000:0456h is 00h. In other words, power OFF is possible when the number of times Subfunction 01h and 00h are called is equal. Power OFF by INT 1Fh - Function 98h is also prohibited. Related INT 1Fh - Function 98h 0000:0456h INT 1Fh - Function 9Eh Subfunction 02h,03h Class Power save BIOS Name Disable/enable transition to power save mode Undocumented Target PC-9801NL・NS/T・NS/R・P・NX/C・NS/A・NL/R, PC-9821Ne Input AH=9Eh AL=Transition to power save mode 02h: Enable 03h: Disable Output None Explanation o Disable/enable automatic transition to power save mode. u In the PC-9801NS/T, the meaning of the subfunction number is reversed. AL=02h disables, AL=03h enables. Related 0000:045Ch bit 1 INT 1Fh - Function 9Eh Subfunction 04h Classification Power save BIOS Name Reset timer for power save mode transition Undocumented Target PC-9801NL Input AX=9E04h Output None Explanation o Resets the timer that measures the time until entering power save mode. Related I/O 08F0h - 0045h ■PC-98LT・HA SRAM BIOS INT 1Fh - Function 9Eh Classification SRAM BIOS Name SRAM checksum inspection Undocumented Target PC-98LT・HA Input AH=9Eh Output CF=End condition 1: Checksum abnormal 0: Checksum normal Explanation o Inspects SRAM checksum. Related INT 1Fh - Function 9Fh INT 1Fh - Function 9Fh Classification SRAM BIOS Name SRAM checksum setting Undocumented Target PC-98LT/HA Input AH=9Fh Output CF=0 Explanation o Updates the SRAM checksum data. Execute after rewriting the contents of SRAM. Related INT 1Fh - Function 9Eh References TheBASIC'92/6-p.113 (c)enjo